{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "# Machine Learning for Design"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "## Notebook for Session02: Supervised Learning: Explaining Titanic Hypothesis with Decision Trees"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "%pylab inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "### Preprocessing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "First, we must load the dataset. We assume it is located in the data/titanic.csv file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "import csv\n",
    "import numpy as np\n",
    "with open('data/titanic.csv', 'rb') as csvfile:\n",
    "    titanic_reader = csv.reader(csvfile, delimiter=',', quotechar='\"')\n",
    "    \n",
    "    # Header contains feature names\n",
    "    row = titanic_reader.next()\n",
    "    feature_names = np.array(row)\n",
    "    \n",
    "    # Load dataset, and target classes\n",
    "    titanic_X, titanic_y = [], []\n",
    "    for row in titanic_reader:  \n",
    "        titanic_X.append(row)\n",
    "        titanic_y.append(row[2]) # The target value is \"survived\"\n",
    "    \n",
    "    titanic_X = np.array(titanic_X)\n",
    "    titanic_y = np.array(titanic_y)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['row.names' 'pclass' 'survived' 'name' 'age' 'embarked' 'home.dest' 'room'\n",
      " 'ticket' 'boat' 'sex'] ['1' '1st' '1' 'Allen, Miss Elisabeth Walton' '29.0000' 'Southampton'\n",
      " 'St Louis, MO' 'B-5' '24160 L221' '2' 'female'] 1\n"
     ]
    }
   ],
   "source": [
    "print feature_names, titanic_X[0], titanic_y[0]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Keep only class (1st,2nd,3rd), age (float), and sex (masc, fem)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "# we keep the class, the age and the sex\n",
    "titanic_X = titanic_X[:, [1, 4, 10]]\n",
    "feature_names = feature_names[[1, 4, 10]]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['pclass' 'age' 'sex']\n",
      "['1st' 'NA' 'female'] 1\n"
     ]
    }
   ],
   "source": [
    "print feature_names\n",
    "print titanic_X[12], titanic_y[12]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Solve missing values ('NA') for the 'age' feature. Solution: use the mean value."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "# We have missing values for age\n",
    "# Assign the mean value\n",
    "ages = titanic_X[:, 1]\n",
    "mean_age = np.mean(titanic_X[ages != 'NA', 1].astype(np.float))\n",
    "titanic_X[titanic_X[:, 1] == 'NA', 1] = mean_age\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['pclass' 'age' 'sex']\n",
      "['1st' '31.1941810427' 'female'] 1\n"
     ]
    }
   ],
   "source": [
    "print feature_names\n",
    "print titanic_X[12], titanic_y[12]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Class and sex are categorical classes. Sex can be converted to a binary value (0=female,1=male):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Categorical classes: ['female' 'male']\n",
      "Integer classes: [0 1]\n"
     ]
    }
   ],
   "source": [
    "# Encode sex \n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "enc = LabelEncoder()\n",
    "label_encoder = enc.fit(titanic_X[:, 2])\n",
    "print \"Categorical classes:\", label_encoder.classes_\n",
    "integer_classes = label_encoder.transform(label_encoder.classes_)\n",
    "print \"Integer classes:\", integer_classes\n",
    "t = label_encoder.transform(titanic_X[:, 2])\n",
    "titanic_X[:, 2] = t\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['pclass' 'age' 'sex']\n",
      "['1st' '31.1941810427' '0'] 1\n"
     ]
    }
   ],
   "source": [
    "print feature_names\n",
    "print titanic_X[12], titanic_y[12]\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Now, we have to convert the class. Since we have three different classes, we cannot convert to binary values (and using 0/1/2 values would imply an order, something we do not want). We use OneHotEncoder to get three different attributes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Categorical classes: ['1st' '2nd' '3rd']\n",
      "Integer classes: [[0]\n",
      " [1]\n",
      " [2]]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "enc = LabelEncoder()\n",
    "label_encoder = enc.fit(titanic_X[:, 0])\n",
    "print \"Categorical classes:\", label_encoder.classes_\n",
    "integer_classes = label_encoder.transform(label_encoder.classes_).reshape(3, 1)\n",
    "print \"Integer classes:\", integer_classes\n",
    "enc = OneHotEncoder()\n",
    "one_hot_encoder = enc.fit(integer_classes)\n",
    "# First, convert clases to 0-(N-1) integers using label_encoder\n",
    "num_of_rows = titanic_X.shape[0]\n",
    "t = label_encoder.transform(titanic_X[:, 0]).reshape(num_of_rows, 1)\n",
    "# Second, create a sparse matrix with three columns, each one indicating if the instance belongs to the class\n",
    "new_features = one_hot_encoder.transform(t)\n",
    "# Add the new features to titanix_X\n",
    "titanic_X = np.concatenate([titanic_X, new_features.toarray()], axis = 1)\n",
    "#Eliminate converted columns\n",
    "titanic_X = np.delete(titanic_X, [0], 1)\n",
    "# Update feature names\n",
    "feature_names = ['age', 'sex', 'first_class', 'second_class', 'third_class']\n",
    "# Convert to numerical values\n",
    "titanic_X = titanic_X.astype(float)\n",
    "titanic_y = titanic_y.astype(float)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['age', 'sex', 'first_class', 'second_class', 'third_class']\n",
      "[ 29.   0.   1.   0.   0.] 1.0\n"
     ]
    }
   ],
   "source": [
    "print feature_names\n",
    "print titanic_X[0], titanic_y[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Separate training and test sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from sklearn.cross_validation import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(titanic_X, titanic_y, test_size=0.25, random_state=33)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "### Decision Trees"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Fit a decision tree with the data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from sklearn import tree\n",
    "clf = tree.DecisionTreeClassifier(criterion='entropy', max_depth=3,min_samples_leaf=5)\n",
    "clf = clf.fit(X_train,y_train)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Show the built tree, using pydot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABqsAAAHlCAIAAADtGlGlAAAABmJLR0QA/wD/AP+gvaeTAAAgAElE\nQVR4nOzde1yUZf74//cgDMhBQAkPIEqJqXhgN1kRRbEt0mo9om6eKs1Dpmbmmpu12YaFWrqZVp4V\nzQRbDlpppAmoeOygaz60/SCuRxRBEQTkNL8/7t/Od3aGGW4QGRhez7+Ya97Xdb/vm7mGmTfXfd8a\nnU4nAAAAAAAAAGyUnbUTAAAAAAAAAPAAUQEEAAAAAAAAbBkVQAAAAAAAAMCW2Vs7AQAAUH+dP39+\n79691s4CsB0PP/zwE088Ye0sAABAo0MFEAAAmHXixImpU6daOwvAdowcOZIKIAAAqHtUAAEAQBV0\nOp21UwBswahRo6ydAgAAaKS4DiAAAAAAAABgy6gAAgAAAAAAALaMCiAAAAAAAABgy6gAAgAAAAAA\nALaMCiAAAAAAAABgy6gAAgAAAAAAALaMCiAAAIDNSkhICAsLc3Nzc3NzCwsLS0xMrLKLpjI1G7m2\nYgAAAHCfqAACAADYpuXLlw8fPvzgwYMFBQUFBQUHDx4cNmzYP/7xj7oZubZiAAAAcP+oAAIAANig\n8+fPz58/X0SioqJyc3Nzc3OjoqJE5I033sjMzKyyu+5/VXfk2ooBAABAraACCAAAYGUXL15cvHhx\n9+7da3HMDRs2lJSUjB07dsGCBZ6enp6engsWLBg7dmxJScmGDRse9Mi1FQMAAIBaQQUQAAA0RmVl\nZZ9++mnv3r29vb21Wm2bNm0iIyP37t2rD9i6dWt4eLiHh4ejo2OHDh3mzZuXl5enPBUZGanRaLp2\n7VpRUaG0VFRUdO3aVaPRjB49Wn0Oubm5q1ev7tevX/v27efPn/+vf/2rFndw//79IjJhwgTDRuVh\nSkrKgx65tmIAAABQK6gAAgCAxmjq1KmvvPLKkSNHsrOzS0tLr1279s9//vPJJ58UEZ1ON3bs2PHj\nx6empubl5ZWUlGRkZCxdurRPnz537twRkVWrVjVv3vzXX3/94osvlNG2bt3666+/ent7r1q1qspN\nFxUVxcbGDh48uFWrVtOmTTtw4EDTpk1Hjx69c+dOw7BK78hR5Q069H777TcR6dGjh2GjssxQecqy\noKAgR0dHX1/fKVOmXLt2rboj11YMAAAAagUVQAAA0Bht375dRBYuXHj58uWSkpKcnJxdu3ZFRESI\nyPr167dt2+bj4xMXF5ednV1YWJienh4cHPzrr7++//77ItKyZcuPP/5YRN55553S0tLS0tKFCxeK\nyOeff+7l5WVui+Xl5d99992ECRO8vb3//Oc/79q1S6fTPfXUUzExMdevX9++ffuf/vSnWtxBZcVi\n8+bNDRtbtGghIrdv366y+8mTJ0tKSq5cubJ27drg4OCrV69Wa+TaigEAAECtsLd2AgAAAFbg5+d3\n9uzZ9PT027dvd+3atX///s8+++yzzz4rIuvWrRORL7/8MiwsTAnu3bv39u3bH3nkkfj4+OjoaBEZ\nN27c9u3bv/nmm7Vr1+p0uszMzDFjxgwbNszCFtu0aXPjxg3l5169eo0dO3b06NHe3t7m4o3uv1Fn\nBg8ePHfu3ODg4Ly8vOTk5Llz5165cuWdd95Zu3atVfIBAADA/aMCCAAAGqP169ePHTs2OTk5OTlZ\naRk4cODmzZu9vb2V6/ENGDBA/luG098P98KFC/oRVq9eHRgY+N5774lI69atP/nkE/Vbr/Ic3vvn\n7u5+8+bN3Nzcli1b6htzcnJExMPDw0LHpKQk5QcnJ6fx48d7e3sPHDjw22+/rdbItRUDAACAWsFZ\nwAAAoDEKDQ3997//fejQoSVLlkRGRrq6uu7Zs+fVV1+V/1b9ysvLy8vLKyoqKioq9MvxSktL9SM0\nb97c29vbwcGhsLDwoYcecnV1tbzFK1eu7N69e9y4ca6urkeOHJk5c6aPj8+gQYO2bt1aUFBgGn+f\n1wHs2LGjiJw8edKw8dSpU/qnVOrdu7eIZGdnV2vk2ooBAABAraACCAAAGil7e/vQ0NC//OUvO3bs\nUOpQynrAwMBAETl27JiuMvrub7zxxr///e+oqKi//vWvp06deuutt6rc3MCBA7ds2XL9+vUvv/zy\n2Wef1Wg0e/bsGT9+fMuWLZ977rldu3bV4t4paxhjYmIMG5WH4eHh6sc5cOCAiLRq1apaI9dWDAAA\nAGpHpR9tAQAAdDpdbGysrX5aCAsL27Jly6VLl0pLS2/cuLF48WIRcXZ21ul0GzZsEJFWrVqtXbs2\nMzOzsLCwuLj43Llza9as6d27t9L9+++/12g0Xbt2LS8vLyoq8vPzs7Oz279/f7VyuHnz5meffda3\nb1/9ar5a3MGMjAytVisiixYtys3Nzc3NjYqKEhGtVpuRkWGu1+OPP75jx45r166VlJRcunTp888/\n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\nLExPTw8ODhaRN954w9xG63hymQ5l+VlFpW+AanJrtBOwWhrofAEANE5UAAEAtaC+fQsy/B7r6uo6\ne/bse/fumQbEx8cbNnbq1ElEDJftJCQkqP9a3qNHDxFZs2aNhZT0D/fu3funP/2pVatW+hOQRcTJ\nyckwk4iIiNmzZ69bt+7f//63UZKVPlUpb29v/fi9evVasWLF9evX1exOzdT46/3gwYPT0tKKioqy\nsrJiYmKUtF966aVqjWwbBQgqgDVgeUI9+uijIrJr1y59/M6dOw2nZK9evUQkLS3NcMyMjAwRCQgI\nMLfROp5chtRXACt9AzTFBKyZBjpfAACNk70AAGBzdDqdiOTm5p44cWL+/Pn/+Mc/7OzsPvroI6Ow\n8PBww4fKnSjDwsL0Lf3791e/0d9++01Ehg4dWmVkbGzsc889pzNZd1NcXKz8sH79+rFjxyYnJ+uv\nZTZw4MDNmzd7e3tbeKrK7Zpe+KzWubu737x5Mzc31/C6Yzk5OSLi4eFhoWNSUpLyg5OT0/jx4729\nvQcOHPjtt99Wa+TaikHDUuWEunDhgoj07dtX/5ThzyKiXLBvwIAB8t93D+WDsr5vlepgcqmn8g3Q\nEBMQAACbx51AAAA2q3nz5hEREfHx8SKybds20wBPT886T0pE5O9//7tOp5s2bdq5c+eKiop0Ol1B\nQYFhQGho6L///e9Dhw4tWbIkMjLS1dV1z549r776quWnKnXlypXdu3ePGzfO1dX1yJEjM2fO9PHx\nGTRo0NatW402qtCoYGHXOnbsKCInT540bDx16pT+KZV69+4tItnZ2dUaubZi0LBUOaGqpJTMysvL\ny8vLKyoqKioq9PXE0tJSc73qeHJVV5VvgBYwAQEAsD1UAAEANk45vyw/P7/KSH9/fxE5cOCAviU1\nNVX9hpQzDfVLaSxQzi6Mjo7u2LGjk5OTiOzbt88oxt7ePjQ09C9/+cuOHTuUb8v6RX8WnjJlb28/\ncODALVu2XL9+/csvv3z22Wc1Go1y8bKWLVs+99xz5u5WXDPKKqqYmBjDRuWh0YpLy5TfQqtWrao1\ncm3FoGGpckK1b99eRA4ePKhvOXTokGFAYGCgiBw7dqzSU2bMbbeOJ1fNqH8DNMQEBADABj3o04wB\nAI2B1JtrIUVERCQmJl6/fr20tPTGjRu7du3q2rWriDz11FOGYZX+EbzPO4EoJ9m5ubmtXLny8uXL\nxcXFhw8frvROIB06dBCRN998Mycn59atW3FxcfoT4pSAsLCwLVu2XLp0SdmLxYsXi4izs7Plp1S6\nefPmZ5991rdvX/2CI/V9q5SRkaHVakVk0aJFubm5ubm5UVFRIqLVajMyMsz1evzxx3fs2HHt2rWS\nkpJLly59/vnnzZs3F5FZs2ZVa+TairEurgNYXVVOqNdff11E/P3909LSCgoK0tLSlHK/PmDDhg0i\n0qpVq7Vr12ZmZhYWFhYXF587d27NmjW9e/dWn8kDnVyGzA2u8g3QCBOwxhrifAEANFpUAAEAtaD+\nfAuq9N9dLVq0+PXXX03DjPrevHnT19fXsOPw4cPVf40vKSn54x//aO6fbYY/L1myxChmwoQJpsFG\npkyZYvmp6vrPf/7zwQcfdO3atQZ9LVi2bJlphsuWLTOMMTqqle5Ut27dcnNzqztybcVYERXA6qpy\nQl2/ft1wOZuIDBkyRETs7e31g8ycObPS12HNfhcPaHJVmWGlz1b5Blhpr0Y7AatFGuB8AQA0WlQA\nAQC1oP58Czp06NALL7zQrl07e3t7FxeXbt26zZ079+rVq0Zh5r7Ynz9/fvDgwS4uLs2bN588efLd\nu3erVQIoKSlZunRp9+7dnZycXFxcwsPD9XcWNhynrKxs6dKlAQEBjo6ODz/88Lvvvqu/1pgScPjw\n4UmTJvn7+zs4OHh5eYWGhq5evbqsrMzyU/VHfHx8nz59XFxcXFxc+vTpY3TPZZ3J8Tf8rbm6uvbs\n2fODDz4oLCyswci1GGMtVACrq8oJpdPpfvvtt2eeecbZ2bl58+ZTpkw5c+aMiDz00EOG4+zduzcy\nMtLHx8fBwaFp06aBgYFz5sz55Zdf6nyHzKq0VGduKql/A2QC1lhDnC8AgEZLozP/YQIAAJU0Gk1s\nbOyoUaOsnQjQ4MXFxY0ePdpan9AayVxeuXLlzJkzw8PD9+/fb+1c0IA1kvkCALAN3AkEAAAANm7o\n0KEHDhy4c+fOtWvX1q5du2DBAhEZMWKEtfMCAACoI/bWTgAAgIZBf2n/SrGmHqjPkpKSjO7T/dhj\nj02ZMsVa+QAAANQx1gACAADAxn3zzTdPPfVU69attVrtI4888pe//OWHH35QbkoLAADQGLAGEAAA\nVVjlBzRcTz/99NNPP23tLAAAAKyGNYAAAAAAAACALaMCCAAAAAAAANgyKoAAAAAAAACALaMCCAAA\nAAAAANgyKoAAAAAAAACALaMCCABAPZWQkBAWFubm5ubm5hYWFpaYmFhll/z8/AULFnTq1MnR0dHd\n3b1///5xcXFGMWfPno2Ojg4JCbGzs9NoNJWOc+XKlddff71Hjx4eHh5OTk4dOnSYOnXq+fPn9QG/\n/PLLvHnzHnvsMVdXV0dHxw4dOrzyyiuXLl2qQT6aylQ3n59++mnOnDk9evRwdnZ2cnIKCAiYPn36\nxYsXLRyrcePGVbotUXHk1eSscltoDGowl0Xk7t27ixYtCgoKcnV1bdas2TPPPPP9998bBtTKXFYZ\no3Iv1MRUuV9qYqqcg2reoyodRKPR2NnxFQkAYIt0AADcNxGJjY2ts201hr9fy5YtM/2rvXz5cgtd\ncnNzu3TpYtrrzTffNAyr8pPAkSNHXF1dTcdxdXU9evRopYMoPD09T548eZ/5mGZV43zc3d1//PHH\nSo/V3r179fWCGhz5KnNWua1KxcbGqox8EIS5XNtqMJd1Ot2lS5ceffRRyy+zKl+BauaOmhiVe6Em\nRs1+1WDfVQYYvUdVGiMi4eHhln87hiPU2XwBAOA+2f6nLgBAHajLb0Gm3/RsT0ZGhlarFZGoqKjc\n3Nzc3NyoqCgR0Wq158+fN9dr1qxZIuLn55eQkKD0io+P9/X11Wg0hoWwLl26vPPOO6dPnzZ3JENC\nQkSkV69eqampd+7cycvLS0lJ6dmzp4j07t1bifnd73734Ycf/vzzz3fv3s3Ly/v666/9/f1FZMCA\nAdXNp8pfqJp8goODV65cefbs2Xv37uXk5Hz33XdBQUEiEhYWZjpgcXFxQEDA+PHjTTet8sirfxFa\n2JY5VABtSc3mcllZWa9evUQkICAgKSkpLy+voKBg9+7d/fv3NwyrlbmsJkbNXqiJUbNfKve9yheP\nmvcoU+Hh4SKyYcMGCzFGaVABBAA0FDb+qQsAUDeoGtSuBQsWiMjYsWMNG8eOHSsib731lrlebdu2\nFZH9+/cbNu7bt09EZs6caRpv7kg6OjqKSGZmpmFjZmamiDg5OZnb+tGjR0WkadOm1c2nyl9ozfL5\nv//7P6N89P72t781a9bs2rVrpptWeeTVvwgtbMscKoC2pGZzWTlZvkWLFteuXVOzlfuZy2pi1OyF\nmhg1+6Vy32vw4jF9jzJy4cIFjUbj7Ox8584dlWNSAQQANCBc5AIAUKe2bt0aHh7u4eGhXJhp3rx5\neXl5+meVazCVl5dHRUW1b9/e0dGxc+fOGzduNAwwjDS89pPyc1FR0cyZM1u2bGlvb6+0l5SULF68\nOCgoyNnZ2dnZOSgoaOnSpaWlpUYbLSwsnDp1qpeXl5ub27Bhwy5cuCAiP/zwg0ajad26dVFRkeFe\n3Lt3T1nLptSzat3+/ftFZMKECYaNysOUlBRzvbKyskREWbyjFxwcLCJHjhxRv3UfHx9zT/n6+pp7\nSjnh193dvZ7k4+DgICItW7Y0aj937lx0dPS7777bqlUr0141O/LmWN5WQ8dcVqNmr6jt27eLyIwZ\nM+7zlaNm7qiJUbMXamLU7Fdt7bsp0/coIzExMTqdbujQoW5ubrW7aQAA6gVrlyABALZAVKyDqKio\nGDNmjOlfosDAwLy8PP04IjJx4kSjmLi4OMOASv+WKT+PGDHCsL24uLhfv36mXQYMGFBSUmLYcfjw\n4YYBvr6+OTk5Op0uNDRURD788EPDfVmxYoWIBAcHWzggVbJwrLy8vEQkKyvLsFFZR+bt7W2uV+vW\nrcXMmrsWLVqYS9K0/fPPPxeRXr16paWl3blz586dO6mpqUrlbu3atea2vm7dOhEZNGhQdfNR0ujR\no4dWq/Xx8Zk8efLVq1fvJ5/bt2+npqYq5zauWLHC6NkBAwZ07dq1tLS00iOg8shXmbOabZlT/9cA\nMpcrTbtSNZvLyvrZw4cPL1++/OGHH9Zqte3bt581a1Z2draFJE3b1cwdNTFq9kJNjJr9Urnvyi5X\nOQcNmb5HGQkICBCRPXv2WB7HKA3WAAIAGgoqgACAWqDmW9DatWtFxMfHJy4uLjs7u7CwMD09Xfme\n+cYbb+jHEZG2bdvu2rUrLy/v4sWLgwcPFpG+ffsabqvS77pKu4+PzzfffJOfn680RkdHi4iHh8eG\nDRtu3Lhx48aN9evXN2vWTESWLFli2LFdu3YpKSn5+fn79+/38/MTkXnz5ul0ut27dyvfYAsKCpT4\n4uLiNm3aiEh8fLyFA3I/VQNl/Zq+rqEoKSkREa1Wa67XSy+9JCJ+fn6JiYnKdbgSEhKUfam0l4U0\nvvjii65duxpm27Vr1+3bt5vb9OnTp93d3TUazYEDB6qbj+mR8fHxuXLlSg3yMQzo2LGj6cW8Nm/e\nLCIpKSnmjoDKI68m5yq3ZU79rwAyl41YOFY1m8vKmbmTJ0822pC/v//169fNJVnpUGrmTpUxavZC\nTYya/VK576a/BdM5aKjS9yhDhw4dEpHWrVuXlZWZG8SUUAEEADQcVAABALVAzbcg5eLuaWlpho0Z\nGRkiEhAQoB9HRJKTk/UB58+fFxE3NzfDbVX6XVdpN/om3717dxHZuHGjYaOyEiQoKMiw486dO/UB\nCQkJItK5c2floXIea3R0tPJQWTTUuXPniooKy7tcYzWrGly9elVZPmNIKcNVer08c0eyrKzs7bff\n9vDwMBzHw8PjrbfeKi8vN40/ffq0stzvr3/9aw3yGTx4cFpaWlFRUVZWVkxMjLe3txJWg3wMA1xd\nXWfPnn3v3j39szk5OQ899NCYMWMsHAGVR77KnNVsy5z6XwFkLqtXs7ms9GrXrp3RXXREZNq0aabx\n9zOX1cTUVgVQzX6p3Pcq56Ahc+9RhqZMmSIic+fONRdQKTXzBQCAeoIKIACgFqj5FuTs7CwiTZo0\nadKkiZ2dnZ2dnf6yXw4ODvpxRKSoqEjfq6KiwujLreWqQW5urmGjk5OTiBidPnbjxg0xuB680vHW\nrVv6gNzcXMMqVWJiooi0aNEiPz+/qKhIWTS0adOmKg9LjdXszEGdTpeVlfXKK6+0a9fOwcGhffv2\nS5cuTU9PFxE/Pz/TYHNH8q233hKR4ODglJSUvLw8w3uDvv3220bB6enpzZs3F5EpU6aYllGqlY9i\nz549ItKmTZua5aPT6ZR7Af/ud78TkTlz5ujbJ06c6ObmZniqoOkRqNmRN81ZzbbMqf8VQOayejV7\nRXl6eoqZM+h9fHxM4+9nLquJqa2zgNXsV3X3XWE6B/Usv0cpiouLlRroqVOnzG2iUlQAAQANCBVA\nAEAtUPMtqGnTpmKefhzT77HVqhoYNdZK1aCiokJZfxQVFfXxxx8rBSyjpS6VJmOZhe7KBcu+++47\nw8bvvvtO/vckSjX+9re/iciIESPMJWnarpRFKr03qNEX7K+//lopBk2dOlXlKioL+SiUu0noC0nV\nysc0oFWrVvoWfZXKwq+jZkfeNGc12zKn/lcAmcvqf6E1e0Up9Wv9GdCKO3fuGL3MjJI0bVczd9TE\nqNkLNTFq9qu6+64wnYMKle9RyqTTLyZVT818AQCgnuBewACAOhIYGCgix44dq/QPkvpxlNpKWVmZ\nmuCOHTuKyLfffmvY+PXXX4vIo48+ath44MAB/c+pqaki4u/vr9+iskzmo48+Ui5GNnfuXOVUtQdk\nwIABIhITE2PYqDwMDw9XP05WVtaqVatEpNL7NpijFE2MKAu4bt264Rb2SAAAIABJREFUpW/ZtGnT\n0KFDCwsLp0+f/tlnn1mueanPR/lFGN4GVGU+RpTTD/Pz8/Utal5mNTvypjlX6yXd4DCX1avZK0q5\nqOKJEycMG48fPy4iytmsKqmZO2pi1OyFmhg1+1WzfTedg1Kd9yjlqp1GNzIGAMDWPLjiIgCg8RAV\n6yA2bNggIq1atVq7dm1mZmZhYWFxcfG5c+fWrFnTu3dv/Timf5uMGpXrPW3bts3wBENzfZUv+Z6e\nnps3b87Ozs7Ozt64caNytpfKuwcoysvLO3furEQ+9NBDhYWF1Tk81ZaRkaHVakVk0aJFypWwoqKi\nRESr1WZkZFjoOGDAgOTk5Lt37965c2fnzp1K0SQ0NLTS6/eZ+yQQFhYmIsHBwampqcq9QVNSUh57\n7DERCQsLU2KWLFmidJ81a9b95PP444/v2LHj2rVrJSUlly5d+vzzz5Xz9QyHVZNPREREYmLi9evX\nS0tLb9y4sWvXLuXOBk899ZSF9EyPgJojryZn9UfbVP1fA8hcVq9mc1mpZxndRUe5Ft7s2bNN4+9n\nLquJUbMXamLU7JeaGDVzUOV7lE6ny8rKsre3t7e3NzqFWQ018wUAgHqCCiAAoBao/BY0c+bMSv8d\nJdU5c/CFF15Q37e4uFj5fmskPDxcf48IpWXYsGGGAb6+vjk5OYZDbdmyRXkqKiqqOsemhpYtW2aa\n9rJlywxjTHfZtEunTp0uX75sOcZonMOHDyvnzRlxdnY+cuSI5UHkf8/TrDKfSkfo1q2b4TXgapxP\nixYtfv31VwsH2WjHVR55NTmr3Fal6n8FUMdcro6azeUZM2aY9uratavhOc6WfwU6dXNHTYzKvVAT\no2a/qoypdK+N5mClMQqjc8k/+ugjEXn66adV/Tr/l1ABBAA0HFQAAQC1QP23oL1790ZGRvr4+Dg4\nODRt2jQwMHDOnDm//PKLfhypqmpw+/btl19+Wbm5hOFTlfbV6XTFxcXR0dHdu3d3cnJq2rRp9+7d\nFy9ebHiLWKVjQUHBpEmTPD09XVxchgwZcv78eaNxjhw5IiJubm6G31QfqPj4+D59+ri4uLi4uPTp\n08fo1qi6ynY5OTl50KBBbm5uzs7O3bt3f++99+7evVtpL1OGMWfPnp04caK/v79Wq9Vqtf7+/pMm\nTTp37lyVgxh9u64yn0OHDr3wwgvt2rWzt7d3dXXt2bPnBx98YLosq8p8DMdxcXHp1q3b3LlzDW/E\nUSlzrxnLR15lziq3ZapBVAB1zOXqqMFc1ul0MTExffr0cXV11Wq1HTt2fPPNN+/cuWPa6z7nssoY\nNXuhMqbK/aoyRs0cVPkepfvvbaa3b99ummqV1M8XAACsTqOz6evUAADqhkajiY2NHTVqlLUTqQnl\n4lBV/kGcOHHixo0bX3/99Q8//LBO8kIjFRcXN3r0aGt9QmMuA+o16PkCAGhsuBMIAABVu3Dhwjff\nfCMiEydOtHYuAGqOuQwAABone2snAABAfae/g+TTTz/dpUsX6yYDoMaYywAAoNGiAggAQNWcnJzC\nw8PXrl1r7UQA3BfmMgAAaJyoAAIAGrsqrxrGNXOBBoG5DAAAYA7XAQQAAAAAAABsGRVAAAAAAAAA\nwJZRAQQAAAAAAABsGRVAAAAAAAAAwJZRAQQAAAAAAABsGRVAAAAaHo1Go9ForJ1F5X766ac5c+b0\n6NHD2dnZyckpICBg+vTpFy9efBAxQINTnyev4u7du4sWLQoKCnJ1dW3WrNkzzzzz/fffGwZoKmM0\nyNmzZ6Ojo0NCQuzs7Or5/gIA0EhodDqdtXMAADR4Go0mNjZ21KhR1k6ksVC+UdfPP+KVftt3d3f/\n4Ycffv/739dujE2Ki4sbPXq0tX65zOUHrT5PXhG5fPnyE088ce7cOaN2w4QrnZtGe2QUU2/39z4x\nXwAADQhrAAEAQG0KDg5euXLl2bNn7927l5OT89133wUFBeXl5c2ePbvWYwDUovLy8sjIyHPnzgUE\nBCQlJeXl5RUUFOzevbt///6mwbr/ZfRsly5d3nnnndOnT9dJ4gAAoGr21k4AAADYlGPHjul/bt68\neURExCOPPNKhQ4cTJ07UegyAWhQfH3/06NEWLVqkpaW1atVKaRw4cODAgQOrO9Svv/5a29kBAID7\nwhpAAACqUFZW9umnn/bu3dvb21ur1bZp0yYyMnLv3r3KswcPHhw/fryvr6+Dg0OLFi0iIiKSk5MN\nuysXySooKHjxxRfd3d1bt2798ccfi0hubu64ceM8PT29vLwWLFhgdJKdRqMpLCycOnWql5eXm5vb\nsGHDLly4YCHJrVu3hoeHe3h4ODo6dujQYd68eXl5eWryrwMODg4i0rJlyzqIAQwxeatl+/btIjJj\nxgx9+Q8AANgOHQAA901EYmNjrZ3FgzJx4kQLf0NN2zUaTWJior670jhs2DDDmKSkpD/84Q+GLTEx\nMUZdhg8fbhjg6+ubk5NjGKD8XFFRMWbMGNM0AgMD8/LyqszfVKXBKvsauX37dmpqakhIiIisWLHi\ngcbYjNjYWPVHuNaJbc1lJq/6vjqdrm3btiJy+PDh5cuXP/zww1qttn379rNmzcrOzjbdSo8ePbRa\nrY+Pz+TJk69evWo5JQsbbdDEtuYLAMC22ezfYwBAXbLtb0HOzs4isnDhwsuXL5eUlOTk5OzatSsi\nIkJ5dtCgQbt37759+3ZJScnly5eXL18uIsHBwfruyhfgoKCg/4+9ew+Iot7/x/9aLss9QAwRUMQE\nFbwmpHJJLcPUwLwAlbkpInosw8yjntQTdazwkh48ZipmtZoKFKBYamlclSwtPaGCBt5AEBS5Ccht\nf3/M97efPXuZnYVlZ9l9Pv5iZ94z85ph3q/3e947O3Pp0qXa2tqlS5cSkb29vdyUwMBAuUU8PDyy\nsrLq6+szMzP79+9PRKtWrZItwPydmJhIRG5ubsnJyVVVVY2NjWfPnvX39yei1atXq41fURcHERRX\n4u3tvW/fvu4rY2AwAqhFqLwaVV4LCwsiWrRokdwinp6e9+7dY9mKm5tbWVkZS0js/6aey8DqCwAA\nGDaDbY8BAECXDPsqaMiQIUQUEhKyfPnyvXv3Xr9+XXbuqVOnQkNDXVxczMz+7+m6lpaW0gLMlPz8\nfObj3bt3lU5xdnaWW+To0aPSKWlpaUQ0dOhQ2QLM32PHjiWinJwc2aiKi4uJyMvLS2383UR2dMDW\n1nb58uWPHz/upjIGBiOAWoTKqxHmh/YeHh5paWnV1dXV1dWpqanu7u5EtGTJEmmxsLCwnJycpqam\niooKsVjs7OxMRNHR0UrXiRFAAAAAPWGw7TEAAOiSYV8FnTlzZsCAAbJDUS+++CJzR8zhw4cFAgEp\nI12c+djc3Mx87OjoUDpFIBDILfLw4UPplOrqatmxCdlNMHcJmZqampqampiYmJiYSEMyNzdnj7+7\nMe/wHT16NBGtWLGiW8sYDIwAahEqr0YcHR2JKDMzU3bi6dOnicjNzU3VUidOnCAiV1dXpXPlDqmB\nMbD6AgAAhg1vAgEAAFAjICDg+vXrZ86c2bRp05w5c2xtbU+cOBEbG0tEH374oUQiWbJkSVFRUVNT\nk0QiaWhoULoS5ud1RCS9wpebIuH2Cz5FzILt7e3t7e0dHR0dHR3SVbW2trLHr5SAA46xMe/wTU1N\nJaKDBw92axkARai8GlVeZrTRz89PdiLzq+TKykpVS40fP56IqqqqOO83AAAA8MBMfREAAACjZ2Zm\nFhAQEBAQQEQlJSVPPfUU885Q5vd68fHx9vb2TEnmfhmtyM3NDQ0NZf7Ozs4mIk9PT8Vivr6+58+f\n//XXX5kLdY3i142WlhYiqq+v10EZADmovNz5+/v/8ccf58+fnzhxonTib7/9RkR9+/ZVtVRubi4R\n4fXBAAAAeg73AAIAAKjx7LPPHjhwoLS0tK2traqq6ttvvyWi5uZmImJenblp06bq6uqampqUlJSY\nmBhtbXfZsmXZ2dkNDQ1ZWVnMXT/SMQVZzLsIwsLC9u7de/PmzaampsePH1+7di0xMZEZNWCJXyku\nPyJgCXvKlClHjhyprKxkNnfs2LHZs2cTUVBQkNbLALBD5dWo8s6bN4+I3njjjSNHjjx8+PDhw4fp\n6elvvPEGybzd+Pnnn//2228rKipaW1tLS0t3794tEolI4Y3JAAAAoHc689NhAACA/0UG/SwkpQ1o\nTEyMRCLZtGmT3HTmYpgUHiWmuEKWKcxHuStqd3f3Bw8eKC2/bNkyloaeJf7uoHRzTk5Oly9f1noZ\ng4TnAGoRy8mPyqvUW2+9pbjFYcOGSZ9sqDSk4cOHV1dXKx4WpTtlSMiw6gsAABg23AMIAACgRn5+\n/sKFCz09Pc3NzXv37h0QELB79+6dO3cS0YoVKzZv3uzl5WVhYTFw4MAPPvjgiy++0NZ29+/fv3Dh\nQkdHRxsbmxkzZuTk5PTq1Utpye3bt586dWrOnDlubm7m5uZWVla+vr4rVqy4ePEie/zd4cyZM/Pn\nz/fw8DAzM7OxsRk+fPjKlSv//PNPHx8frZcBYIfKq6n//Oc/YrE4MDDQ1tZWKBR6e3u/9957Z8+e\ndXBwYArIVkxbW1s/P79PPvnk3LlzzFtEAAAAQG8JJJ19dDEAAICUQCBISkqKiIjgOxAD0cXXC0CP\nlpycHBkZydd/H3W5i1B5jQrqCwAA9CC4BxAAAAAAAAAAAMCQYQQQAAAAAAAAAADAkGEEEAAAAAAA\nAAAAwJCZ8R0AAAAAyMNDxAB6KFReAAAA0E+4BxAAAAAAAAAAAMCQYQQQAAAAAAAAAADAkGEEEAAA\nAAAAAAAAwJBhBBAAAAAAAAAAAMCQYQQQAAAAAAAAAADAkGEEEAAAAAAAAAAAwJBhBBAAAAAAAAAA\nAMCQCSQSCd8xAABAjycQCPgOAcCg8NVDQ10G0EhSUlJERATfUQAAAKhnxncAAABgCJKTkzu3YHFx\ncV5e3tmzZx8+fOjp6Tlp0qQXX3xRu7GB1LZt24jonXfe4TsQ0F+drsvQrSIiIt55553x48fzHYjh\nO336dGZm5vXr121sbMaOHRsQEODr62tiovKHU+PGjdNleAAAAJ2GewABAIAHeXl5KSkpqamppaWl\nTz/9tEgkmjVrVr9+/fiOy8AxN6pgiAegxxEIBLjXTJcePHjw3XfficXis2fP2tvbh4aGhoeHv/ji\ni+bm5nyHBgAA0Em4BxAAAHTnr7/+OnDgQEpKypUrV5566qmFCxeGh4f7+vryHRcAAMD/cXJyiomJ\niYmJKS0t/e6771JSUmbMmOHo6Dh9+vTw8PCpU6eameEyCgAAehg0XQAA0O0qKiqSkpL2799/4cIF\nZ2fnV155RSwWjxkzhu+4AAAA2Li7u8fGxsbGxt66dSs9PX3//v1hYWFubm6zZ88ODw8PDAzEozMB\nAKCnwLuAAQCgu9TX1+/ZsycoKMjd3X3dunU+Pj4//fTT3bt3ExISMPwHAAA9iIeHR2xs7Pnz5wsK\nCqKjo0+ePBkcHDxgwIDY2Ni8vDy+owMAAFAPI4AAAKBlLS0tKSkpoaGhzs7Oy5Ytc3V1TUtLq6ys\nFIvFkydPNjU15TtAAACATvL19Y2LiyssLCwoKFiwYMEPP/wQHBw8cODANWvWXL16le/oAAAAVMII\nIAAAaEd7e3tGRoZIJOrTp09kZGRzc/Pu3bsrKiqSk5NDQ0OtrKz4DhAAAEBrmKHA69evFxQURERE\n7N+/38fHRzqR7+gAAADkYQQQAAC6Ki8vLzY21sPDIyws7MqVK3Fxcbdv3/7pp59EIpGjoyPf0QEA\nAHQjX1/f+Pj4O3fu5ObmTp48edeuXd7e3sxQYElJCd/RAQAA/D8YAQQAgE66fv16XFycj49PcHDw\nDz/8EB0dXVBQcP78+djYWHd3d76jAwAA0B0TE5OgoKCEhISysjJmKPCzzz7z8vJiJlZUVPAdIAAA\nGDuMAAIAgGYqKio2btzo6+vr7e29a9euF1544fz588xooK+vL9/RAQAA8MnU1JQZ9SstLU1PTx84\ncOD69evd3NyYiZWVlXwHCAAARgojgAAAwEldXR3zYl83N7ePPvpozJgxP/30U1lZGV7sCwAAoMjC\nwiI0NFQsFldWVjJDgWvXrnV1dX3hhRfEYnFdXR3fAQIAgHHBCCAAALBpbGwUi8WhoaF9+vRhXuyb\nnp6OF/sCAABwZGlpKR0KPHTokKWl5aJFi/r06cNMbGho4DtAAAAwChgBBAAAJdra2pgX+7q5uS1Y\nsEDuxb6WlpZ8BwgAANDDWFtbh4eHZ2RkVFRU7N69m4gWLlzo7OwcGhqakpLy+PFjvgMEAABDhhFA\nAAD4PxKJRPbFviUlJXFxcbdu3cKLfQEAALTF0dFRJBIxQ4G7du1qbm6OjIx0cXFhJra2tvIdIAAA\nGCAzvgMAAAC9cO3atX379iUlJd28edPLy2vRokURERE+Pj58xwUAAGCwnJycRCKRSCQqLS397rvv\nUlJSZsyY4ejoOH369PDw8KlTp5qZ4XoNAAC0Ay0KAIBRKy8vF4vFYrH4ypUrLi4uERERIpEIb/YA\nAADQJXd399jY2NjY2Fu3bqWnp6ekpISFhbm5uc2ePTs8PDwwMFAgEPAdIwAA9Gz4FTAAgDG6f/9+\nQkJCUFCQu7v7xx9/HBQUlJubW1paihf7AgAA8MjDwyM2NjYvL+/y5cvR0dE//vhjcHCwdCLf0QEA\nQA+GEUAAACMifbGvu7v7qlWrmBf73rt3b/fu3UFBQXixLwAAgJ7w8fGJi4u7evVqQUFBVFTUDz/8\nEBwc7OnpuWbNmqtXr/IdHQAA9DwYAQQAMHzSF/u6urouXLiQiPbs2XPv3j282BcAAEDP+fr6xsXF\nXb9+vaCgIDIycv/+/T4+PszEa9eu8R0dAAD0GBgBBAAwWMyLfRcvXuzi4sK82PeDDz64efMmMxro\n4ODAd4AAAADAla+vb3x8/J07d3JzcydPnrxr167BgwczQ4ElJSV8RwcAAPoOI4AAAAaoqKhozZo1\nnp6ewcHBWVlZb7311pUrV/Ly8mJjY93c3PiODgAAADrJxMQkKCgoISGhrKyMGQr87LPPnnrqKT8/\nv4SEhPLycr4DBAAAPYURQAAAw3Hz5s24uDhfX98hQ4aIxeJXXnmloKCgqKgoLi5u6NChfEcHAAAA\nWmNqasoMBZaWlh49etTHx2f9+vXu7u7MxMrKSr4DBAAA/YIRQACAHk/6Yt+nnnpq27Zt0hf7xsfH\n+/r68h0dAAAAdCMLC4vQ0FCxWFxZWZmenj5w4MC1a9e6uroGBQXt2bOnrq6O7wABAEAvYAQQAKCn\nevTokfTFvu+9997AgQNlX+xrYoIMDwAAYEQsLS2lQ4GHDh1ydHRctmyZs7MzM7GhoYHvAAEAgE+4\nPgQA6GFaW1szMjIiIiKcnZ2lL/a9e/cuMxqIF/sCAAAYOWtr6/Dw8IyMjIqKij179hBRdHS0dCiw\nsbGR7wABAIAHGAEEAOgZpC/27du374wZM+7evfvxxx/funWLebGvvb093wECAACAfnF0dBSJRBkZ\nGeXl5bt27Wpubl6wYIGrqyszsbW1le8AAQBAd8z4DgAAANQoLCz86quvDh06dPv27cGDB//973+P\njIwcMGAA33EBAABAz+Dk5CQSiUQiUWlp6XfffZeSkjJjxgxHR8fp06eHh4dPnTrVzAwXhgAABg6J\nHgBAT924cePrr79OSUm5cuVK3759RSLRvHnz8GYPAAAA6DR3d/fY2NjY2Njbt2+npaWlpKSEhYX1\n7t171qxZ8+bNCwwMFAgEfMcIAADdAr8CBgDQL1VVVcyLfQcNGvTZZ59NnjwZL/YFAAAA7erfv39s\nbGxeXt7ly5fffPPNnJyc4OBgDw8PZqJEIuE7QAAA0DKMAAIA6IWGhgbpi33Xrl3LvNi3tLSUGQ3E\ni30BAACgO/j4+MTFxV29erWgoCAqKur48ePBwcEDBw6MjY39/fff+Y4OAAC0BpeUAAB8Unyxb2Ji\nYllZGTMaaGFhwXeAAAAAYBR8fX3j4uKuXbtWUFAQGRn57bffjhkzRjqR7+gAAKCrMAIIAMAD6Yt9\nXVxcmBf7/vvf/66oqMCLfQEAAIBfvr6+8fHxd+7cyc3NnTx58u7duwcPHswMBRYXF/MdHQAAdBJG\nAAEAdOqPP/6IjY318PAIDg7OyclZtWrVjRs38vLyYmJinJyc+I4OAAAAgIjIxMQkKCgoISGhtLSU\nGQrcuXPnoEGD/Pz8EhISysvL+Q4QAAA0I8BDXgEAdKCkpEQsFjMv9vX09BSJROHh4XizB3S3kydP\nZmZmSj9mZ2cT0YQJE6RTJk2aNGXKFB4iAwBWW7ZsuX//vvTj119/PWHChAEDBkinxMbG9u3bl4fI\nwIi1t7dnZmaKxeIjR440NDSMHz8+PDz81VdfdXZ25js0AABQDyOAAADdqLKy8tChQykpKfn5+U5O\nTq+++mp4eHhAQADe7AG6kZmZ+dxzz5mbmyuech0dHa2trZmZmRMnTuQjNABg8+abb+7cuVPp02Bb\nW1udnJzKy8tNTU11HxgAETU3N//0008pKSmpqanNzc3jxo0TiUSRkZF4jAkAgD7DCCAAgPY1NDSk\npqbu378/MzPT0tJy1qxZ4eHhISEheLMH6JhEInF3d797967Sua6urqWlpQKBQMdRAYBa+fn5AQEB\nSmeZm5u//fbbW7Zs0XFIAIqamppOnTq1f//+I0eOCASCF154ITw8fNasWba2tnyHBgAA8nATCgCA\n1si+2Dc6OtrS0vLQoUNVVVV4sS/wRSAQvP766+bm5oqzzM3NX3/9dQz/AeincePGubu7K53V2tr6\n6quv6jgeAKWsrKxCQ0OTk5Pv3bu3Z88eIoqOjnZ2dg4NDRWLxY2NjXwHCAAA/wcjgAAAynV0dFy6\ndIlLSYlEcurUKZFI1KdPH7kX+4aHh1tZWXV3qAAsXn311dbWVsXpGEQA0GcCgUAkEikdvvf09Bwz\nZozuQwJg4eDgIBKJMjIyKioqdu3aRURRUVGurq7MxJaWFo7rKSsr684wAQCMGn4FDACgRE1Nzauv\nvlpeXn7x4kWWYhcuXBCLxWlpaXfu3Bk9evQbb7wxc+bM/v376yxOAC68vb2vX78uN9HLy+vatWu8\nxAMAXFy9etXHx0duopmZ2dq1a+Pi4viICEADZWVl3377bUpKytmzZx0cHF566aXw8PCpU6eamZmp\nWqS9vd3Dw2Pp0qX/+Mc/cIs6AIDWYQQQAEDe1atXp02bdvv27Y6OjsLCwsGDB8sVKC4u3r9/P/Ni\n34EDB86bNw8v9gV99q9//evDDz9sa2uTTjEzM3v//ffXrVvHY1QAoNbQoUMLCwvlJiptmAD01u3b\nt9PS0lJSUs6cOePk5DR79ux58+YFBgYqjvExb68yMTGZPn36gQMHnnjiCV4CBgAwVPgVMADA/xCL\nxaNGjSotLe3o6BAKhQcOHJDOunfvXkJCgp+f36BBg3bu3Dl58uTc3Nzr16/HxcVh+A/02Wuvvdbe\n3i47pb29HT8BBtB/IpFI9oYpgUAwfPhwDP9Bz9K/f//Y2Ni8vLySkpK///3vubm5wcHBHh4ezETZ\n+1EOHjwoFAo7OjpOnDgxZMiQ3377jcewAQAMD+4BBAD4f9rb21esWLF9+3bZie7u7pcvX05PT2de\n7GtlZTVz5kyRSDRp0iRTU1O+QgXQ1NNPP33x4kWm0RcIBKNHj75w4QLfQQGAGrdv3x4wYIC0u25q\nahofH79y5Up+owLoosuXL6ekpBw8ePD69eseHh4zZswQiUTDhw/v3bt3fX09U8bMzEwgEOzatSsq\nKorfaAEADAZGAAEAiIgePnwYERGRmZkpd6sUEdna2jY2NgYHB7/22mtz5szp1asXLxECdMW///3v\nlStXMqe3qanpp59+Ghsby3dQAKDeM888c/78eabHbmJicufOHVdXV76DAtCCjo6O3Nzcw4cPf/fd\nd1VVVd7e3nJPp2V+JhwdHb1jxw6hUMhTmAAAhgMjgAAAVFBQMH369IqKCsV31ZmbmwcFBYnFYnd3\nd15iA9CK8vJyd3f3jo4OIjIxMSkrK3NxceE7KABQb8eOHcuXL29vbzcxMRk/fnxeXh7fEQFoWVtb\n2+nTp996662bN2/KPrKWYWZmNmbMmNTUVIx9AwB0EZ4DCADG7rvvvnvmmWfKy8sVh/+IqLW19Y8/\n/sBYCfR0ffv2DQ4ONjExMTExCQ4OxikN0FNERkZK/543bx6PkQB0EzMzswkTJty9e1dx+I+I2tra\nfv/992HDhv3888+6jw0AwJBgBBAAjFdHR8eaNWvCw8Obm5tbW1tVFaupqTl9+rQuAwPoDq+++qpA\nIBAIBK+99hrfsQAAV08++WRwcDBTeWfNmsV3OADd4uTJk01NTarmtra21tXVvfDCCxs3btRlVAAA\nBgYjgABgpBoaGubMmbNx40aJRML+PARTU9PDhw/rLDCAbhIZGcncAxgREcF3LACggfnz50skkpCQ\nkCeffJLvWAC6RXJysokJ25Vpe3s788XtwoULm5ubdRYYAIAhwXMAjVFERERKSgrfUQAYjqSkJAyp\nyEGeAdBIeHh4cnKy7rebnJws+yNTAOgivupyz8K84gMAtAWjOsCRGd8BAD/GjRu3YsUKvqMA4E1t\nba1GXyBbWVnZ2toq/XYaY3+qIM/oobNnzwoEgvHjx/MdCPyPrVu38hsABiz032effRYdHW1hYcF3\nIMCG97rcg7zzzjvSxujx48dlZWUcFzQxMbGysrK0tLS3t++26AB6jPz8/G3btvEdBfQYGAE0Uv36\n9QsPD+c7CgAwZMgzemjatGlEZGNjw3cg8D94v2EWVVX/TZgwwdnZme8oQA3e63IPMm7cOGQegK7D\n3X+gEYwAAgAAGAuM/QH0UBj+AwAAgC7Cm0AAAAAAAAAAAAD/icmwAAAgAElEQVQMGUYAAQAAAAAA\nAAAADBlGAAEAAAAAAAAAAAwZRgABAAAAAAAAAAAMGUYAAQAAAAAAAAAADBlGAIEfFy9eXLVq1Zgx\nY2xtbS0sLAYNGvTmm2/euXNHKysXCAQCgUB/1tMjpKWlBQcH29nZ2dnZBQcHp6enq11EoEzn1qyt\nMgDARWFhYXx8/Lhx40xMTJRW299//33FihUjR460tra2tLT08vJaunTp7du3uaxcl1UeacGQdOWs\nUwqdgU5AZwCMkNo2UceQc9gh5wB0iQSMT3h4eHh4OL8xKD0bHR0dL126pK2V68969N/WrVsV/x3b\ntm1jX4pLSuGyZm2V4QsRJSUl8R2F3tGHPAOqqO0JKK3d9vb2Fy5cYF+zLqu8PqcFTfFYX5KSkpSe\nA7rX6bOOfYXaCqzr69F/6Ax0Hdo+jkif+k7sZy/HxbUejxZXqLeQc7RCf9px6BFwrhgjfeidjB49\nesuWLX/88cejR49qa2uPHTvm6elJRJMmTer6yrXVcBpJA1xcXCwUColow4YN1dXV1dXVGzZsICKh\nUFhSUsKyoNrjw2XN2irDI73qxeoPfcgzoIqPj8/7779fUFCgqhb7+/vv2LGjsLDw8ePHDx48OHny\n5KhRo4goODiYZbW6rPJ6nhY0hRFASWfPOhboDGgEnQGtQNvHkV71ndS2iey0niKQc5BzNKI/7Tj0\nCDhXjJF+9k7OnTtHRFZWVl1flQF3+m/duhUfHz98+HAtrnPt2rVENHfuXNmJc+fOJaJ169axLKj2\n+HBZs7bK8EiverH6Qz/zTI/THVVeFvcs99dff6lN0bqs8nqeFjSFEUCluJx1LNAZ0Ag6A1qBto8j\n/ew7YQRQFeQcjSLUMX1ux0EP4TmAoC98fHyIyN7eXnYi82SH9vb2DRs2DBgwwMLCYujQoV9++aVs\nmRs3brz88su2tra9e/f+29/+1tjYqNF229raEhIS/Pz8bG1tra2tJ06cmJGRobRkXl7evHnz3N3d\nzc3NnZycQkJCfvzxR9n17Ny5c/z48c7OzkKh0NXVdc6cOadOnWKfxVF1dfXu3bufffbZAQMGrFmz\n5s8//9RoH9llZmYSkUgkkp3IfMzKyuruNWurDIBWsFdzIiouLg4LC2MSzpIlSxobGxUfQHPgwIGJ\nEyc6ODgwDzldtWpVbW2tRmF0a5XvHHNzcyLq06cPSxldVnmkBWOg9KxjalxTU9OyZcv69OljZmbG\nTEdnoIvQGQBQhaXySjsA7M+kU7pO5BxCzgHQPb6HIIEH+vn95N69e4lo6tSpshOZszQqKkruvE1O\nTmYK3L9/393dXXbWrFmzuJ/bLS0tISEhquqF3HoUiwkEgvT0dGauYpDSxVlmsWtsbDx8+HBoaChz\nFURE1tbWkZGRR48eVTxK7Fi20rt3byKqqKiQnVheXk5Ezs7OLAsyax45cqRQKHRzc1u0aNHdu3c1\nXbO2yvCI9PJ7bN7pZ55Ri72aV1VV9e3bV3auXMLp6Oh47bXXFFfi6+tbW1urduu6qfKKq2IvU1NT\nk52dPW7cOCLavn07S0ldVnk9Twuawj2AcljOOuaknT17tuzZjs6A0sA02hY6A1rRQ9s+3SO97Dup\nqiYslbdzlRo5R4Kcoz362Y6D3sK5Yoz0sHdSUFBgb28vEAhyc3NlpzMpvl+/fhkZGbW1tbdv3w4L\nCyOioKAgpsCqVauIyMPDIysrq76+PjMzs3///hybN4lEsmXLFiKytbVNSEi4c+dOc3Pz2bNnX375\nZdmtSwtPnTr1+PHjNTU1LS0tpaWl27ZtIyJ/f39mrrW1NRHFxcWVlpa2tLQ8ePAgIyMjJCSEfZZS\nbW1tJ06cmDdvnq2tLRODmZnZlClTxGJxfX29YvkuNsBM697S0iI7saWlhYiEQiHLgopbcXNzKysr\n02jN2irDI9LLXizv9DDPcMFezVeuXElEAwYMYBJOVlaWh4eHbBVLTExkKkJycnJVVVVjY+PZs2f9\n/f2JaPXq1ao2quMqr7gq9rkMb2/vffv2sa9Nl1Vez9OCpjACKKX2rJM2N99//720gqAzIEFnQD/0\n0LZP90gv+06qqgl75dWo2WUg50iQc7RH39px0HM4V4yRvvVOCgoKmNtq/vGPf8jNYtL6jz/+KJ1S\nUlJCRHZ2dszHIUOGEJHsV1JpaWncW+KRI0cS0Z49e5TOlVvPqVOnQkNDXVxcpL85IiJLS0vZSEJC\nQpYvX753797r169LF2SZpZSzs7N0/WPHjt2+ffu9e/e47E7ndLp5CwsLy8nJaWpqqqioEIvFTNjR\n0dEardkAGmD97MXyTt/yDEfs1Xzw4MFElJGRIS1/9OhR2UQxduxYIsrJyZFdZ3FxMRF5eXmp2qiO\nq7ws9mwp2722tbVdvnz548ePWdaGEcBOwwiglNqzjpmVmpoqOxGdga5DZ0Aremjbp3v62XdSlTTY\nKy/3VCOFnCNBztEefWvHQc/hXDFGetU7OXv2bK9evYgoJiamo6NDbi7TCDU1NUmndHR0yLaLFhYW\nRPTw4UNpgerqau4tsZWVFRFVVlYqnSu7nsOHD6t6rgdT4MyZMwMGDJCd/uKLLzINJ8sspWQb4HHj\nxv3nP//p1gZYW7e4nzhxgohcXV01WrMB3ISvn71Y3ulVnuFIbTVXm3CY79tNTU1NTU1NTExMTEyk\nKzQ3N1e1XR1XeVlcsiXzVtbRo0cT0YoVK1hK4lfAnYYRQDksZx1z0lZXV8tORGeg69AZ0Iqe2Pbx\nQj/7TqqSBnvl5Z5qpJBzJMg52qOf7TjoLbwJBPj0/fffT548ubq6evHixbt27VLVwllaWkr/5vh4\nXa378MMPJRLJkiVLioqKmBHJhoYG2QIBAQHXr18/c+bMpk2b5syZY2tre+LEidjYWPZZSpWVlR0/\nfvz111+3tbX95Zdfli1b5ubmNnXq1AMHDshtlCHggGXXvL29iejSpUuyE//73/9KZ3E0fvx4Iqqq\nqtJozdoqA9B1aqu5WhKJhIja29vb29s7OjqYbzWYWa2traqW0nGV11SvXr1CQkJSU1OJ6ODBgywl\ndVnlkRYMm9qzztHRUedBEaEzwAE6A2B4NK28WoScoxZyDoBm+Bp6BB7pyfeTX375JXM3+9KlSxXv\n/mMoPUtlJ3bxhz+jRo0iosTERLVbZ+4vqKmpkc49cuQIy4aY3/316tVLo1lyHj16dOjQoZdeekn2\nQbyvvPKKdh/Eq61X3R87doyI+vXrp9GatVWGR6SX32PzTk/yjEbUVnPFXwFL39zHfPTz8yOiX3/9\ntXMB6KbKK66KS8mioiIisrGxYSmjyyqv52lBU7gHUCmlZ53SkxadAQk6A/qhJ7Z9vCC97DtxTBpy\nlZcZ52ptbeW+IeQcCXKO9uhzOw56COeKMdKH3smmTZuYhuHtt99mKaa08ZCd2MWHf3/66adEZGdn\nt2PHjtLS0ubm5vz8fKUP4h00aBARvffeew8ePHj48GFycnKfPn1kCwQHB+/fv//OnTutra2VlZUb\nN25k2kv2WRzdv3//888/DwoKkn6Zxn1ZtYqLi4VCIRF99NFH1dXV1dXVGzZsICKhUFhcXKxqqeee\ney4lJaW8vLylpeXOnTu7du1ifs0t+w/lsmZtleGRfvZieacPeUZTaqv5u+++S0Senp45OTkNDQ05\nOTmenp6yBfbt20dELi4uiYmJN27caGxsbG5uLioq2rNnz/jx47lH0q1VXpaqlYeEhKSnp9+7d4/J\nWhkZGcOGDSOiKVOmsKxNl1Vez9OCpjACKOF81ik9adEZ6Dp0BrSiJ7Z9vNDPvpOqasVeeZkfzx48\neFD2sUXskHMkyDnaoz/tOPQIOFeMkT70Tki1qqoquWJKl2X+vn//vru7u+zis2bN4t5EtbS0PP/8\n84oxKG5IOmQpJRKJFAvLiYmJYZ+lqVu3bn3yySfDhg3rxLIstm7dqhjh1q1bZcvIHVWlOzV8+HC5\nZzNxWbO2yvCF9LIXyzt9yDOaUlvN79275+LiIltgxowZRGRmZiZdybJly5TWDupU56ybqrzaCJXO\ndXJyunz5suJ6ZKfossrrc1rQFEYAJV046yToDGgJOgNd1xPbPl6QPvWdlJ7Gas9zaeWdP3++qgVV\nQc5hIOdohf6049Aj4FwxRvrQO1GavhkajQBKJJKSkpKwsDAbG5tevXotWrTo0aNHSpdSpaWlZfPm\nzSNGjLC0tLSxsZk4caL0FnfZ9bS1tW3evNnLy8vCwmLgwIEffPCB9KleTIH8/PyFCxd6enqam5v3\n7t07ICBg9+7dbW1t7LP0R2pqamBgoI2NjY2NTWBgoNxrFiUKh/3MmTPz58/38PAwMzOztbX18/P7\n5JNPGhsbO7FmLZbhBelTL1Z/6EOe0ZTaai6RSK5duzZ9+nRra+tevXrFxMRcuXKFiJ588knZ9Zw6\ndWrOnDlubm7m5uZWVla+vr4rVqy4ePGizndIJVXpV1pAtoLb2NgMHz585cqVd+/eVboeuYm6rPJ6\nmxY0hRFASdfOOgk6A1qCzkAX9cS2jxd61XdS2yayV96ampq//e1vHh4e0t/Mctkocg4DOafr9Kcd\nhx5BIOH2G34wJBEREUSUnJzMdyAAhkAgECQlJTHVCqSMJM/s2LFj2bJlEydOzMzM5DsW6MF4rC/J\nycmRkZHoDQJohZG0fV2HvhOAtqAdB43gXcAAAABcvfzyy7m5uXV1deXl5YmJicxTomfPns13XAAA\nAAAAAGzM+A4AoBuxv4QeX5UAgKaOHDkifQ0fY8yYMTExMXzFAwBqoTMAALqEnAMAegv3AAIAAHD1\n/fffT5kypW/fvkKh8Kmnnvr73//+888/M6+KAwAAAAAA0Fu4BxAMGb5kAwDtmjZt2rRp0/iOAgA0\ngM4AAOgScg4A6C3cAwgAAAAAAAAAAGDIMAIIAAAAAAAAAABgyDACCAAAAAAAAAAAYMgwAggAAAAA\nAAAAAGDIMAIIAAAAAAAAAABgyDACCKAdaWlpwcHBdnZ2dnZ2wcHB6enp7OV///33FStWjBw50tra\n2tLS0svLa+nSpbdv35YtI1DBxERlzX399deZMnLTCwsL4+Pjx40bZ2JiojhX6tGjRx999NGoUaNs\nbW2feOKJ6dOn//TTT9K5Fy9eXLVq1ZgxY2xtbS0sLAYNGvTmm2/euXNH0/1StWuaxsNx3zmW0Whb\nAHzRNNUQUX19/dq1a4cMGWJhYWFvbz9hwoTk5GSW8kqrCZfqz6UMl20RUVlZ2bvvvjty5EgHBwdL\nS8tBgwYtXry4pKREWoBjqiFuR0xt9ed4DJFGgNFN9ZRLU6627nCsp1zi4dKUa7EuS7E05WqPPMfu\nB5dtAeibTmQetTWC48UIx5qlNkIuWY5LdtJi5lHbsmvrGHK8WAPoKgkYn/Dw8PDwcN1sy0hOs61b\ntypWrm3btrEsorQ+2tvbX7hwgb0MEU2cOFHpOk+dOiVtMNg3p3TxO3fuDB48mCVLKA3G0dHx0qVL\nGu2XqmKaxsNx37mU0WhbcogoKSmJS0mjoss8I0GqUa26utrHx0dxqffee09peVXVRGmd5VL95cpw\n2dYvv/xia2uruCpbW9tz586xbEsx1XA5YmqrP8dj2JU0ouP6IispKYljkF3H/YD0aN1XT9WeWp2u\nO3L1tHPxKEalxbosxdKUcznyamPmuC1VeKzLPQvpsO+k0X+w5+pE5pFwqBFKC5DCxQiXmtWJGqoY\nMJfspMXMw6VlV7vvSguQumOo7N+lnC7bcTAAOFeMEUYAtau4uFgoFBLRhg0bqqurq6urN2zYQERC\nobCkpETVUv7+/jt27CgsLHz8+PGDBw9Onjw5atQoIgoODmbZ1sSJE4lo3759irOam5u9vLzmzZun\n9Jj7+Pi8//77BQUFqv4jbW1tY8eOJSIvL68jR47U1tY2NDQcP358woQJ0jKjR4/esmXLH3/88ejR\no9ra2mPHjnl6ehLRpEmTNN0vtScGl3g47rvaMhptSxFhBFAZjABqXedSzdtvv01E/fv3T0tLY5ZK\nTU11d3cXCASKF9gs1YRL9edShsu2xo0bR0Rjx47Nzs6uq6urra3Nysry8/MjovHjxzNluKQaLkeM\nS/Xncgy7mEYwAmgwurWeqm3KudQdLvWUYzxq/6HaqstSLHmD45HnfhJy6VoowgggR7rsOyHzsCzY\niYOj9GJE7Xo4Rqg2y3HJTtrKPBxbdm0dQ7X7rgpGAEEjOFeMEUYAtWvt2rVENHfuXNmJc+fOJaJ1\n69ZxX89ff/1FRFZWVqoK3Lx5UyAQWFtb19XVKc795z//+cQTT5SXl7Mfc1VzmfvnnZycysvLucd8\n7tw59pglKvZL7YmhUTxc9p2lTOf2XUqXvdgeBCOAWte5VNOvXz8iyszMlJ14+vRpIlq2bJlcYY5p\nhMGl+rOUYdmWhYUFEd24cUN24o0bN4jI0tJS1bYUUw2XI8al+nM5hl1MIxgBNBg6qKcS1Ueyc3VH\nsZ5yjEftP1RbdVmKJW9wPPLcT0KN8qEURgA50mXfCZmHZUFND46qixG169E0QlUr5JKdtJV5OLbs\n2jqGnV4hRgBBI3gOILA5cODAxIkTHRwcmCfFrFq1qra2VjqXeYRBe3v7hg0bBgwYYGFhMXTo0C+/\n/FK2gGxJ2cciMH83NTUtW7asT58+ZmZmzPSWlpaNGzeOGjXK2tra2tp61KhRmzdvbm1tldtoY2Pj\n4sWLe/fubWdnN3PmzJs3bxLRzz//LBAI+vbt29TUJLsXjx8/Zr4aYpoHrcvMzCQikUgkO5H5mJWV\nxX095ubmRNSnTx9VBcRisUQiefnll+3s7ORmFRUVxcfHf/DBBy4uLty3KOvw4cNE9NZbb2m0BuY+\nfHt7e5Yyaveri/Fw2Xf2Mp3bd9AipBouOpdqKioqiIj56lvK39+fiH755RfZiZqmES7VX1UZ9m25\nubmpWqG7u7uqWYqphssR41L9uRxDY0gjqKdcdHc9Zde5uqNYT/mNR1W3gT1vaKszxmVboEvIPFxo\n9/xnwXIxwk5bEXLJTtrKPN3Usnf6GAJoB88jkMAHLt9PdnR0vPbaa4onjK+vb21tLVOGmRIVFSVX\nJjk5WbaA0lOO+Xv27Nmy05ubm5999lnFRSZNmtTS0iK74KxZs2QLuLu7P3jwQCKRBAQEENGWLVtk\n92X79u1E5O/vr2pnOVQUtprSu3dvIqqoqJCdyHxp7OzszH6cGTU1NdnZ2cwt69u3b1dVzMvLi4hO\nnDihOGvSpEnDhg1rbW2VqPviSNVc5iu1/Pz8bdu2DRw4UCgUDhgw4O23366qqmKJfO/evUQ0depU\nTfeLCWPkyJFCodDNzW3RokV3797tXDxc9p29TOf2XXZfcA+gIo73QSDVKA1bqc6lmr59+5KKb8ud\nnJxkJ3JPIwz26s9ehn1bu3btIqKxY8fm5OTU1dXV1dVlZ2cz/fvExETFrahKNVyOGJfqz+UYdjGN\n6Pk9gKinSsNWqrvrqWyQitM1rTsMxXrKMR4mDJamXFt1mcGeNzgeebUxc9kWC9wDyBFx6Dsh8ygN\nW6lOX4wwa1ZbI6RUXYyoXY+mEaraZS7ZSVuZh2PLrq1jqHbfVcE9gKARnCvGiEvvJDExkYjc3NyS\nk5OrqqoaGxvPnj3LpM7Vq1czZZj01K9fv4yMjNra2tu3b4eFhRFRUFCQdD2qUhgz3c3N7fvvv6+v\nr2cmxsfHE5GDg8O+ffsqKysrKyu/+OKLJ554gog2bdoku6CHh0dWVlZ9fX1mZmb//v2JaNWqVRKJ\n5Pjx40xD0tDQwJRvbm52dXUlotTUVFU728VGl/nKSNotYLS0tBCRUChkP86ym/D29lb6gD/GmTNn\niKhv375tbW1ys77++msiysrKkl0n+xYVpzM3zC9atEhuxz09Pe/du6d0VQUFBfb29gKBIDc3V9P9\nUjzCbm5uZWVlmsbDZd/VlunEvsvtC0YAFXG8CkKqkcNyrDqXaqKjo4mof//+6enpzBNz0tLSmH2R\nXUqjNCJhrf5qy3DZ1jfffDNs2DDZIzNs2LDDhw/LFZMtoJhquBwxLtWfyzHsYhrR8xFA1FM9qadq\nj6SEc92RUlpPOcajeGTkmnLu8cgWUNptUJs3OB55LjFrmg9lYQSQI+LQd0LmkcNyrDp9McKlRkix\nXIyoXY+mEaraZY7ZSSuZh2PLrq1jqHbfVcEIIGgE54ox4tI7YZ57mpOTIzuxuLiYiLy8vJiPTHr6\n8ccfpQWYl6zb2dlJp6hKYcx0uYZwxIgRRPTll1/KTmS+mh41apTsgkePHpUWSEtLI6KhQ4cyH5nb\nwuPj45mPzHduQ4cO7ejoYN/lTtPWCKCtre3y5csfP36stGRMTAwRrVy5Um76gwcPnnzyyddee01u\nnexbVLUXHh4ecg/WJaIlS5Yoli8oKGC+hfvHP/7Rif0KCwvLyclpamqqqKgQi8XOzs5EFB0drVE8\nXPadSxlN911xZzECqIjjVRBSDXedSzV3795lvsSWxXSgpU/D0TSNsFd/9jJcttXW1rZ+/XoHBwfZ\nmB0cHNatW9fe3i5bkj3VcDliXKo/l2PYxTSi5yOAqKfcdV89laXqSHKvOwxV9ZRjPGqbcm3VZe5N\nudojrzZmTfOhHIwAckQc+k7IPNx1+mJEbY2QpepihMt6tDUCyCU7abcXobZl19YxVLvvqmAEEDSC\nc8UYcemdWFtbE5GpqampqamJiYmJiYn0qRnm5uZMGeZjU1OTdKmOjg65nMXe6FZXV8tOtLS0JCK5\nO6srKytJ5rGszIIPHz6UFqiurpZN+unp6UTk5ORUX1/f1NTEfOf21VdfqT0sndb1XwEzr6AaPXo0\nEa1YsUKxQHNzM9OM/fe//5WbFRUVZWdnJ3u3OXuzoWquo6Mjqbip3s3NTa7w2bNne/XqRUQxMTEs\nvRm1+yV14sQJInJ1ddUoHi77zqWMRvuuiDACqAzHqyCkGu46nWoqKirefPNNDw8Pc3PzAQMGbN68\n+ezZs0TUv39/poBGaYRL9Wcpw2Vb69atIyJ/f/+srKza2lrZt/itX79ecXOqUg2XI8ax+qs9hl1M\nI3o+Aoh6yl331VNZqo6kRnWHvS5rFA9DsSnXVl3mkjc6d+QVY9a0WyUHI4Accek7IfNw1/WLEYZi\njZBiuRjhsh5t/QpYwiE7aSvzdK5l7/ox1CjnSDACCBrCuWKMuPROrKysSDWmjNL0pFGjKzdRK41u\nR0cH8/Xdhg0bEhISmPZA7hsnpcGwY1mced7HyZMnZSeePHmS/vc3CGox76hycXFRnMVkdul3j7Kk\nnSGOYauazjR70h9BMOrq6kimm8U4duwY0ydbvHgxly8zWfZLinmos+yGuMTDZd+5lOG+70oRRgCV\n4XgVhFSjdJeV0laqkUgk//znP4lo9uzZzEfuaYRL9Wcvw2VbzMWS0rf4Ke1SyxaQTTVcjlinq7/c\nMexiGtHzEUDUU5ZKIaf76qlikIrTudcdTZty9ngYik25tuoyl7zRuSOvGLOm3So5GAHkiDj0nZB5\nuJ9+2so8ijVCiuVihMt6NI2QY41jyGUnbWWezrXsXT+GGu27BCOAoCG8CxiU8/X1JaJff/1V6XnD\nfT1MR6qtrY1LYW9vbyL64YcfZCceO3aMiAYPHiw7MTc3V/p3dnY2EXl6ekq3yHzz8+mnnzLP8li5\nciVzF3c3mTRpEhGJxWLZiczHiRMncl8Pcyd8fX294izmkTRy789iaPTvYME8V+X8+fOyE3/77Tci\nYn4ixPjqq69efvnlxsbGpUuXfv755+wdZQbLfkkx/1DZN21xiYfLvnMpw3HfoTsg1XCnrVRTUVHx\n2WefEZH0CescDzWX6q+2DJdtMZdScpjbOh4+fKhqKcVUw+WIda76Kx5Dw04jqKfcdV895YJj3elE\nU84lHsWmXFt1mctp1rkjrxiztrpV0HXIPNxpK/Mo1ggplosRLuvRVoSKFLOTtjJP51p2bR1DgO6i\n4YghGAIu30/u27ePiFxcXBITE2/cuNHY2Njc3FxUVLRnz57x48czZZSeQnITmUchHDx4UPb+fFXL\nMm2ko6Pj119/XVVVVVVV9eWXXzI3S3N8+C6jvb196NChTMknn3yysbFRk8OjseLiYqFQSEQfffQR\n85CIDRs2EJFQKCwuLla1VEhISHp6+r1791pbWysrKzMyMpgH1k6ZMkWuZEVFhZmZmZmZmdyd86qw\nV21Vc5nmSu7BusyjLpYvX86U2bRpE7P422+/3ZX9eu6551JSUsrLy1taWu7cubNr1y7mh0iyq+US\nj6b7rqpM57Ylu0LcA6iI430QSDXcdS7VSCSSSZMm/fjjj48ePaqrqzt69ChzeRMQEKD0uWAMxePG\npfpzKcNlW8HBwUTk7++fnZ3NvMUvKytrzJgxRBQcHMyU4ZJquBwxjtVf7THsYhrR83sAUU+50009\nVdXYcak7HOup2ni4NOXaqstcjgCXI88lZu5HWyncA8gRl74TMg93ncs83GsE+8UIl/VoGiFLvVOb\nnbSVebi07No6hhz3XSncAwgawblijDj2TpYtW0YqMAW4NLrz58/nvmxzczOTsuVMnDhR+lhWZsrM\nmTNlC7i7uz948EB2Vfv372dmbdiwQZNj00lbt25VDHvr1q2yZeR2WemBdXJyunz5stzKP/30UyKa\nNm0ax2BY/i+q/pWMt956S7HAsGHDpD9zULUSkvm5BJf9Ulpm+PDhco9iURsPx33nUqYT25JdIUYA\nFXG/CkKq4a4TqUairMYNGTKktLSUZUNcViLFXv3lynDZVn5+PvP7RDnW1ta//PILy7YUUyiXI8al\n+isWUDyGXUkjej4CKEE91UT31VP2f4GkC3WHIVtP1cajdA1yTbkW67IcuR3neOS5xMxxW6pgBJAj\n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\nhx9+kLooAMwAgoVdvHixX79+S5cuXbhw4bVr1/BBGACwKRcvXuzbt295efmFCxfi4+OlLsfOzJw5\n84svvrh3757UhQDYotTU1GeffTYgIEDqQuzGM888c+HChYcPH/bt2/fixYtSlwMAYCp/f/+0tLRT\np06Vl5dHRkbOnDkT334O0sIMIFjKo0ePFixYMGjQIF9f36tXr65Zs8bd3V3qogAA/iMtLW3IkCHd\nu3c/c+ZMSEiI1OXYn5dfftnLy2vnzp1SFwJgc/7973+fPHkS3wFiqODg4Ly8vB49egwZMuSTTz6R\nuhwAADMYOnTopUuXPv7444MHDz755JNbtmxpamqSuihooTADCBbx2WefhYaG7t279+OPP87KysKl\nNQDYlObm5gULFrzyyisLFiw4duxYmzZtpK7ILrm7u0+ePHn79u1KpVLqWgBsy8cff9yxY8dRo0ZJ\nXYj9ad269bFjx/hT9BtvvIHTCwA4ACcnpylTphQVFSUlJS1durRXr17Hjh2TuihoiTADCGb2yy+/\nJCQkvPTSS88991xRUdGUKVPwUC0AsCkPHz587rnnUlNT9+zZk5KS4uzsLHVFdmzWrFk3b97MzMyU\nuhAAG9LQ0LBr165p06a5uLhIXYtdcnZ2TklJ2b59++bNmxMSEiorK6WuCADADHx9fVNSUq5evdq1\na9f4+PiEhITr169LXRS0LJgBBLNpaGhYs2ZNjx49iouLs7OzP/zwQ9xWAwC25qeffurXr9933313\n4sSJiRMnSl2O3QsNDR0yZAi+DwRA6NChQ7///js+AmyiGTNmnDx58tKlS4MHD75x44bU5QAAmEdI\nSMhXX331zTffFBcXd+/efcGCBY8ePZK6KGgpMAMI5nH27NmoqKj169evWrXq+++/HzJkiNQVAQCo\n+/LLLwcMGODr65ufnz9w4ECpy3EQs2bN+uqrr3755RepCwGwFampqU8//XRgYKDUhdi96Ojo/Px8\nuVweFRV16tQpqcsBADCb4cOHf//99++8886uXbtCQ0PxTBWwDswAgqnKysqmTJkSHR3dvn37goKC\nZcuWyeVyqYsCAFC3fv36F154YcyYMbm5uf7+/lKX4zhefPHFtm3bfvzxx1IXAmATfv7556ysLNwA\naC4BAQE5OTlDhgwZMWLEP/7xD6nLAQAwG7lcvmDBgsLCwueee+7111/v37//2bNnpS4KHBxmAMEk\n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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<IPython.core.display.Image at 0x346c350>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pydot,StringIO\n",
    "dot_data = StringIO.StringIO() \n",
    "tree.export_graphviz(clf, out_file=dot_data, feature_names=['age','sex','1st_class','2nd_class','3rd_class']) \n",
    "graph = pydot.graph_from_dot_data(dot_data.getvalue()) \n",
    "graph.write_png('titanic.png') \n",
    "from IPython.core.display import Image \n",
    "Image(filename='titanic.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Measure Accuracy, precision, recall, f1 in the training set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:0.838 \n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn import metrics\n",
    "def measure_performance(X,y,clf, show_accuracy=True, show_classification_report=True, show_confusion_matrix=True):\n",
    "    y_pred=clf.predict(X)   \n",
    "    if show_accuracy:\n",
    "        print \"Accuracy:{0:.3f}\".format(metrics.accuracy_score(y,y_pred)),\"\\n\"\n",
    "\n",
    "    if show_classification_report:\n",
    "        print \"Classification report\"\n",
    "        print metrics.classification_report(y,y_pred),\"\\n\"\n",
    "        \n",
    "    if show_confusion_matrix:\n",
    "        print \"Confusion matrix\"\n",
    "        print metrics.confusion_matrix(y,y_pred),\"\\n\"\n",
    "        \n",
    "measure_performance(X_train,y_train,clf, show_classification_report=False, show_confusion_matrix=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Perform leave-one-out cross validation to better measure performance, reducing variance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [],
   "source": [
    "from sklearn.cross_validation import cross_val_score, LeaveOneOut\n",
    "from scipy.stats import sem\n",
    "\n",
    "def loo_cv(X_train,y_train,clf):\n",
    "    # Perform Leave-One-Out cross validation\n",
    "    # We are preforming 1313 classifications!\n",
    "    loo = LeaveOneOut(X_train[:].shape[0])\n",
    "    scores=np.zeros(X_train[:].shape[0])\n",
    "    for train_index,test_index in loo:\n",
    "        X_train_cv, X_test_cv= X_train[train_index], X_train[test_index]\n",
    "        y_train_cv, y_test_cv= y_train[train_index], y_train[test_index]\n",
    "        clf = clf.fit(X_train_cv,y_train_cv)\n",
    "        y_pred=clf.predict(X_test_cv)\n",
    "        scores[test_index]=metrics.accuracy_score(y_test_cv.astype(int), y_pred.astype(int))\n",
    "    print (\"Mean score: {0:.3f} (+/-{1:.3f})\").format(np.mean(scores), sem(scores))\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean score: 0.837 (+/-0.012)\n"
     ]
    }
   ],
   "source": [
    "loo_cv(X_train, y_train,clf)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "Try to improve performance using Random Forests"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean score: 0.817 (+/-0.012)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "clf = RandomForestClassifier(n_estimators=10,random_state=33)\n",
    "clf = clf.fit(X_train,y_train)\n",
    "loo_cv(X_train,y_train,clf)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "deletable": true,
    "editable": true
   },
   "source": [
    "To evaluate performance on future data, evaluate on the training set and test on the evaluation set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "deletable": true,
    "editable": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:0.793 \n",
      "\n",
      "Classification report\n",
      "             precision    recall  f1-score   support\n",
      "\n",
      "        0.0       0.77      0.96      0.85       202\n",
      "        1.0       0.88      0.54      0.67       127\n",
      "\n",
      "avg / total       0.81      0.79      0.78       329\n",
      "\n",
      "\n",
      "Confusion matrix\n",
      "[[193   9]\n",
      " [ 59  68]] \n",
      "\n"
     ]
    }
   ],
   "source": [
    "clf_dt=tree.DecisionTreeClassifier(criterion='entropy', max_depth=3,min_samples_leaf=5)\n",
    "clf_dt.fit(X_train,y_train)\n",
    "measure_performance(X_test,y_test,clf_dt)\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
